<?php
/**
 * Description of Util
 *
 * @author prometheus
 */
class x10_Util
{
	public static function globr($sPattern, $nFlags = NULL)
	{
		$aFiles = glob($sPattern, $nFlags);
		$sDir = dirname($sPattern);
		$files = x10_Util::getDir($sDir);
		if (is_array($files))
		{
			foreach( $files as $file )
			{
				$aSubFiles = x10_Util::globr($file.str_replace($sDir, '', $sPattern), $nFlags);
				$aFiles = array_merge($aFiles,$aSubFiles);
			}
		}
		return is_array($aFiles)? $aFiles : array();
	}

	public static function getDir($sDir)
	{
		$i=0;
		$aDirs = '';

		if (is_dir($sDir))
		{
			if ($rContents = opendir($sDir))
			{
				while ($sNode = readdir($rContents))
				{
					if (is_dir($sDir.'/'.$sNode ))
					{
						if ($sNode !="." && $sNode !="..")
						{
							$aDirs[$i] = $sDir.'/'.$sNode ;
							$i++;
						}
					}
				}
			}
		}
		return $aDirs;
	}

	public static function iniGetBool($a)
	{
		$b = ini_get($a);

		switch (strtolower($b))
		{
			case 'on':
			case 'yes':
			case 'true':
				return 'assert.active' !== $a;

			case 'stdout':
			case 'stderr':
				return 'display_errors' === $a;

			default:
				return (bool) (int) $b;
		}
	}
}

?>